Copyright: Copyright © ? What Copyright © ???


Contents
  MDESK v1.1

Contents

 Intoduction

What is MDesk

Why MDesk ?

 Overview

First steps

Overview

Main Menu description

 How to use it

The desktop Icon

The Drive bar

The Taskbar

The Trashcan

The Application icons

 Miscellaneous

Technical info

Credits

Registration ?

What's new ?

Comments ?


Overview

When MDesk starts (when logging or just when running it from the Fileman) the screen could

be like that (without the arrows of course):

With the Drive bar on the left and the Taskbar on the right (you can try it now)

If you want to add some program to your virtual desktop just drop it from any Drag&Drop

server (like Fileman.exe) to the Desktop icon

It will be automatically added to your desktop and placed. If the icon is not placed as you want,

just move it, its position will be saved before the Shut down.

If you want to delete an icon from you desktop then right click on it to get the local menu

or just drop it in the trashcan. (see Icons properties for drag&drop of Application Icons).

If you want to delete a file from your hard disk and if you want to possiblity to undelete is then

drop it in the trashcan

Here, you drag the file.

So you can drop it in the Trash (Icon on the right side)

You can also run one of your program by drop a filename on it example:

Drag a file from the fileman then drop it in the right icon (Ex: .HLP to Winhlp32.Exe)

And that's all. It's easy and fast.


Virtual Desktops

Your environment can be separated into multiple virtual desktops.

To switch from one desktop to another call the main menu then click

on the name of the desktop you want to switch to.

The applications which are running in the current virtual desktop use their

startup Priority, and the application which run in hidden desktops run with

the lowest Priority.


Priority

All the Processes have a startup priority. The priorities are:

IDLE: its the lowest priority level (Used by default)

NORMAL: Medium priority level

HIGH: High: priority, used by applications which need to run fast

REALTIME: Very high priority, only used by system (Win Logon for example)


Shutdown

You have to execute the Shutdown at the end of your working session before

turning off the computer. Thus, Windows NT will save your data. And MDesk's

config will be saved too.


Credits

First of all, I want to dedicate that program to my Father, André Thioux, for all

he taught me and all he brought to me.

I want to thank Hideyuki Inada for all his advices and also because he shares the

same passion: Donuts

And I want also say hello to a couple of friends.

Christophe Dubourg (Take a look to ZDIFF 2.1)

Frédéric Thomas (Author of Watcher 1.0 & 2.0)

Christophe Job

Hervé Amblard

Sandra Horvath

Montserrat Sanz-Fernandez

Christèle Lecuyer

Jean-Denis Munos

Glynne Davis

Gareth Bowles

Martin Levy (My Boss !)

Robert & Patricia Chevallier

Kirk A. Frey (for all his ideas)

MDesk has been realized with Borland C++ 4.51.


Donuts

Wonderful cakes made in US. If you've never tried 'em... you really

miss something !!! It's so good ! Unfortunately we don't have that in France.

And that's really a shame. Just to think about it... Ok ! see ya !


Use
Main Menu description

It's kind of simple to use MDesk.

First of all, when you start it for the first time you just have the desktop on the bottom-left.

And that's all. If you ran it from the program manager then, you can run the File Manager and

drop some programs into the Desktop icon.

If you've installed MDesk as desktop in this case what you have to do is to use the function

Run Application from the main menu.

Here is the Main Menu:

Arrange Icons

This option allows MDesk to rearrange the icons. The icons will be arranged dependently

of the current desktop properties

Create New Desktop

Used to create a new desktop. Just enter the name of the desktop you and to create.

Desktop Properties

Call the Desktop Properties dialog box.

Run Application

Run the specified application.

Run Screen Saver

Run the current screen saver.

Kill Desktop

Delete the current desktop and all its contents. This option cannot be used with the main desktop.

In fact if you want to delete the main desktop then, all you need to do is to delete the key:

MDesk in the registry : HKEY_LOCAL_MACHINE\SOFTWARE\ManuApps.

App Operations

This option is used to transfer a running application from one desktop to the current one.

It will display a dialog box containing the name all all the running applications then you'll

just have to make your choice. It can be used also to kill an application. Don't worry if you cannot select

Freeze and unFreeze. It's just that they are not implemented yet.

Undelete App

Used to undelete an Application icon. In fact when deleting an Application icon it's not physicaly

destroyed. So, you can undo the delete until you exit, or logoff or shut down.

Shutdown

Displays the shut down dialog box.

You'l have the choice to Shut Down the system, Shut down and restart, logoff or exit from MDesk..

***

The names between the two separators are the names of your desktops.

To switch from one desktop to another just click on its name.

If there is more than 5 desktops then you'll get a dialog box asking you which desktop you wanna switch

on.


Main Menu

You can get the main menu with 3 different ways:

You can right-click on the desktop itself (Window with the wallpaper).

You can right-click on the Desktop Icon. (the menu will appear on "button up")

If the Desktop or one of its icons is active then you can strike Left-Shift

and Right-Shift simultaneously.


Desktop Properties

When you select Desktop Properties you get the following dialog box:

The followings options are locale to the current desktop:

Wallpaper

X-Space

Y-Space

The following options are global to all the desktops:

Display Desktop Title (if you select that one you be also able to

   Display the clock as well).

Startup Application.

If you want to add an application to the startup group then, drag it from

a Drag&Drop application like WinFile then drop it in the list box.

Scheduler.


X-Space

Space in pixel separating two icons.


Y-Space

Horizontal space separating two icons.


Key

Registry key. Used by windows NT to store information

and configuration. Used with Sub Keys too.

The registry replaces the INI files of Win 3.1.


HKEY_LOCAL_MACHINE

Main key which contains ManuApps Key and MDesk SubKey.


Registration

Well !!!

You can register you version of MDesk. Or not.

If you want to just send me a message with your Name.

First name and Last Name only.

And...

If you think that the work is worth it, then you can send me $5 (Tera-cheap !)

For the sources it's $10 (Mega cheap).

Anyway, if you don't want to register and if you want the sources I ain't a monster,

If you ask nicely, I'll probably send 'em to you.

And don't worry, you won't have limited time version or big splash screen saying

that your version ain't registered and then you have to wait for ages...

So, no bloody gags and no: Hey dude ! you MUST register.

If you want to register or just to send me a message (for bug report or just to talk)

Send all that to:

 CIS:                75667,1346

 INTERNET:	Ethioux@Borland.com

Ethioux@wpo.Borland.com

 Snail Mail:	Emmanuel Thioux

2333 Portola drive #36

Santa Cruz CA, 95062

U.S.A


Snail mail

Hey ! if you want to send me a postcard don't hesitate. It's a cool

stuff ! Maybe you'll get the sources for free !

Thanks.


Technical info

Known problems:

The DDE server is not 100% compatible with the progman's own server. I know what are

the command and how to use them, but it seems that every application use it as it wants !

Borland: [CreateGroup(-----)]

   [AddItem(----, ---, ---)][AddItem(---,---,---)]...

Microsoft: [CreateGroup("-----")]

      [AddItem("---")]

      [CreateGroup("----")]

      [AddItem("----")]

Word Perfect: ???

So, obviously it's not easy. But if anybody has any suggestion....

When displaying the Wallpaper MDesk does not care about the display method... It displays every

Bitmap in the same way. Tile or Center. Dependently of the current config. But I'm gonna change

that.

 Error codes:

When trying to run a program from its Icon, if you get an error, then note the code and report you to

the WIN32 APIs volume 2. There are the errors codes you can get.

The most common error codes are:

2: 	Program not found (verify your icon priorities)

193:	Bad EXE format

123:	Invalid name (verify your icon priorities)

5: 	Access denied (seldom)

Miscellaneous:

To change the priority of the applications during the Windows session I've used OpenProcess followed by

SetPriorityClass.Cos' GetWindowThreadProcessId() returns the ID of the process and not its HANDLE.

For the Desktops, the trick is to hide the Windows displayed in a particular Virtual Desktop and

keep a track of those windows. Which let me the possibility to transfer an application from one

desktop to another. In the first Release, it didn't work for 16 bits applications cos' I misused

GetWindowsThreadProcessId().

So, (I didn't notice that stupidity) I changed of technic and enumerated the windows (Visible windows).

I've added a TRY section during the enumeration because at the begining, I called GetWindowText() to get

the title of my windows and the weird thing was that GetWindowText() on the Desktop Window crashed. Exactly

as GetWindowLong(GetDesktopWindow(), GWL_WNDPROC). Result: Exception 0x0D.

To reduce the icons I used GetIconInfo() which return the HBITMAP corresponding to the icon

mask and the HBITMAP corresponding to the color bitmap. Then I just used StretchBlt() to reduce

the bitmap down to 16x16.

Bibliography:

Advanced Windows NT

by Jeffrey Richter

Microsoft press

Win32 APIs (in 5 volumes)

Microsoft press

Borland C++ 4.5 reference manual

Borland Intl

Undocumented Windows

By Andrew Schulman

Addison Wesly

Shining (L'enfant lumière, French release)

Stephen King


Comments
Send 'em to me.

CIS:	75667,1346

INTERNET:	Ethioux@Borland.com

Ethioux@wpo.Borland.com

Snail Mail:	Emmanuel Thioux

2333 Portola drive #36

Santa Cruz CA, 95062

U.S.A


What's new ?
¿ What's new ?

Yeah ! what's new in this version ?

. Taskbar on the right side of the screen. When iconizing an application, its icon will be put

in the Taskbar. Win95 alike.

. Drag&Drop for the applications icons. Push the right button of the mouse and hold the shift

simultaneously then, without releasing the button drag your icon wherever you want.

Drag it in the trash to delete it or move it to the desktop icon to get the desktops list.

When you get the desktop list just choose the desktop where you want to move this icon and drop it.

Tip:the hot spot of the mouse is one the very left at the top of the cursor.

. Mini scheduler to remind you the things you want.

. Bugs fixed in different areas.

. Trash undelete.

. Some other thing to come... stay plugged in.


 Trash

If you drop a file (from fileman.exe for example) to the trash. MDesk will delete it from the disk.

But if you drop an App icon from the desktop to the trash then MDesk will just delete this reference to

the application.(Same as Right-click on Icon then Delete)

Double-Click on the trash icon to get the undelete dialog.

If you have selected Tash can undelete in the Desktop properties box then when dropping a file in the

trash then it can be undeleted.

Purge will erase the selected files. They won't be recoverable no more.

Purge all will purge all the files for the selected drive.

The trash allows you to undelete only the files which were on your hard drives and not on floppies nor

Network drives. In the case of a network drive the only thing you have to do to undelete a file is to run

Salvage.exe. if the Purge(.exe) has not been executed.


App icon
Application icons

The Application Icons are the ones you put on your desktop.

 If you double click on them you run the specified progam.

 If you drop a filename on them (when it's useful) then, you run the program using the dropped

     filename as parameter.

 If you right click on them you get a local menu. Wich allows you to:

 Run the program.

 Set its properties

 Delete it (undelete is possible too)

 Shut down, logoff and exit

You can move your icons wherever you want on the desktop. Their positions will be saved.

Moreover, if you right-click and hold SHIFT simultaneously you will be able to drag (& drop)

your icon. Useful if you want to delete it (drop it in the trashcan) or if you want to duplicate it (Drop it in the Desktop Icon).

Warning: When dropping an icon, its name (application full name) is gonna be coded in Unicode so, don't be surprised

if some programs don't recognize it. Especially 16bits programs wich don't use Unicode at all.

And also, the trashcan does not ask for confirmation since you can undelete a deleted icon.


App Icons properties

When you click on the properties for an Icon you get the following Dialog box

All the edit boxes are normally filled but the Arguments one.

If your program needs arguments on the command line then, just enter them in that edit box.


Icon Excution
Programs Excution

MDesk gives you the choice between 3 options:

Default.

Separate Mem. Env.

Unicode Env.

Default is the default execution. Used for 16/32 bits applications wich don't need any special requierments.

Separate Memory environement is used usually for the 16bits programs. With using that option you can run 2 or more

instances of the specified program and you can also protect your system against unstable applications.

Unicode environement is used for Unicode apps (Seldom).


TaskBar

The Taskbar is used to store the running applications names.

In fact only the iconized programs will be stored in the taskbar.

Only the v86 tasks (as CMD.EXE or DOS programs) cannot be put in the

Taskbar.

Move on the visible part of the taskbar then you'll see all the buttons corresponding to your applications.

Click on the program you wanna see then enjoy !

It can be used also to transfer a program from an hidden desktop to the current one without using the

Transfer dialog box wich cannot transfer iconized applications.

To be more convenient, I have reduced the size of the icons downto 16x16.

You can also resize the taskbar by moving the mouse on the left edge as a regular window.


Drive bar

The drive bar call (for now) Fileman.exe wich displays the wished drive.

I'm planning to make my own File Manager but unfortunatly it's gonna take a while.

So... Enjoy the FileMan !!!

The Drive bar contains all the disks present on your machine including Local drives,

Network drives and CD-ROM.

The restriction wich Fileman.exe is that you cannot run a multiple instance of it. So,

if you ran it in a virtual desktop and if you have switched to another one then you won't

be able to call Fileman again. In this case just use the taskbar (if you've iconized Fileman) or the

Application dialog box to transfer it.


Borland C++ 4.51
May I say that BC++ is really great ???

Yes ? Cool !!! So I do:

BC++ is really great (maybe more).

MSVC++ users... don't get upset please. q:^).


 What is MDesk

MDesk is a Desktop/Program manager.

It allows you to manage several virtual desktops (up to 256) during your Windows NT session and

it simplifies your work (life ? ).

The virtual desktops are usefull if you want to run several applications in the same time,

because, when switching from a desktop to another the priority of the background running applications

is reduced (down to IDLE) which allows foreground applications to run faster.

Moreover, you won't have all these 153165245 windows in the same time on your screen

which narrows down your visiblity.


First steps

At the very begining you will only have the Desktop icon and the trash.

You can run any application with Main Menu | Run Application. Or you can

just use the Drive bar to run Fileman.exe and choose the applications you will

put in your desktop(s).

If you want to create a new desktop just: "Main Menu | New Desktop", then enter its name.

For a complete description of the Main Menu go to Menu Description.


 The desktop Icon

The desktop Icon is used to add an application icon to your virtual desktop. It also can be used

to make a copy of an icon or to move an application icon from the current desktop to another one.

To move an icon just drag it (Right button + Shift) onto the Desktop icon. Then you'll see a window

with the list of your desktops. Just drop your icon in the desktop you want to.

If you want to copy an icon (duplicate) just drop it onto the Desktop icon.

If you right click on the desktop icon then you obtain the main menu.


Life's cool
Yeah ! life is cool !!!

This screen is totally useless but It pleased me to do it so...

Thanks for your patience anyway.

Manu.


Why MDesk
Why MDesk ?

Good question isn't it ?

I work every day with NT 3.5. and as the Progman is not really convenient I decided

in May 95 to make my own Desktop/program manager to offset the lack of features

of Progman.exe.

The original Program manager is ok if you just run the same stuff every day and if you

don't need more. But if you want some cool stuff as multi desktops or drag&drop then you

got nothing. There's a couple of desktop managers in shareware, Dezktop v1.8 for example

which contains some good features also.

The original idea was to make something easy to handle. I hope I succeed in this point.

I have afterward, added couple of features following different persons ideas. Thanks to

them once again (see the credits).

If you have any comments, please let me know.


Scheduler

In fact it's a mini-scheduler wich reminds you couple of things.

You can just ask for a message to be displayed at a given time or

you can also run whatever application.

I think that this option is not fully reliable for the moment especially

if you use the 12 hours time format (Sorry about that).